package com.wing.bill.service;

import com.wing.common.utils.JsonResult;

public interface WorkshopReportService {

    /**
     * 用料数据分析
     * @param type
     * @param startTime
     * @param endTime
     * @param click
     * @param code
     * @return
     */
    JsonResult materialDataAnalysis(String type, String startTime, String endTime, String click, String code,String mainCabCode);

    /**
     * 领料趋势变化图
     * @param param
     * @param enterpriseCode
     * @param mainCabCode
     * @return
     */
    JsonResult findMaterialRequisitionTrend(String param, String enterpriseCode, String mainCabCode);

    /**
     * 领料时间对比图
     * @param type
     * @param startTime
     * @param endTime
     * @param code
     * @param mainCabCode
     * @param param
     * @return
     */
    JsonResult findMaterialTimeComparison(String type, String startTime, String endTime, String code, String mainCabCode,String param);

    /**
     * 设备领料对比图
     * @param type
     * @param startTime
     * @param endTime
     * @param code
     * @param mainCabCode
     * @param param
     * @return
     */
    JsonResult findEquipmentMaterialComparison(String type, String startTime, String endTime, String code, String mainCabCode, String param);

    /**
     * 人员领料对比图
     * @param type
     * @param startTime
     * @param endTime
     * @param code
     * @param mainCabCode
     * @param param
     * @return
     */
    JsonResult findPersonnelMaterialComparison(String type, String startTime, String endTime, String code, String mainCabCode, String param);

    /**
     * 工单领料对比
     * @param type
     * @param startTime
     * @param endTime
     * @param code
     * @param mainCabCode
     * @param param
     * @return
     */
    JsonResult findWorkOrderMaterialComparison(String type, String startTime, String endTime, String code, String mainCabCode, String param);

    /**
     * 车间领料对比
     * @param type
     * @param startTime
     * @param endTime
     * @param code
     * @param mainCabCode
     * @param param
     * @return
     */
    JsonResult findWorkshopMaterialComparison(String type, String startTime, String endTime, String code, String mainCabCode, String param);

    /**
     * 供应商物料消耗对比
     * @param type
     * @param startTime
     * @param endTime
     * @param code
     * @param mainCabCode
     * @param param
     * @return
     */
    JsonResult findSupplierMaterialComparison(String type, String startTime, String endTime, String code, String mainCabCode, String param);

    /**
     * 产品领料对比
     * @param type
     * @param startTime
     * @param endTime
     * @param code
     * @param mainCabCode
     * @param param
     * @return
     */
    JsonResult findProductMaterialComparison(String type, String startTime, String endTime, String code, String mainCabCode, String param);

    /**
     * 领料品牌对比
     * @param type
     * @param startTime
     * @param endTime
     * @param code
     * @param mainCabCode
     * @param param
     * @return
     */
    JsonResult findBrandMaterialComparison(String type, String startTime, String endTime, String code, String mainCabCode, String param);

    /**
     * 物料消耗智能柜对比
     * @param type
     * @param startTime
     * @param endTime
     * @param code
     * @param mainCabCode
     * @param param
     * @return
     */
    JsonResult findCabinetMaterialComparison(String type, String startTime, String endTime, String code, String mainCabCode, String param);

    /**
     * 领料物料分类对比
     * @param type
     * @param startTime
     * @param endTime
     * @param code
     * @param mainCabCode
     * @param param
     * @return
     */
    JsonResult findCategoryMaterialComparison(String type, String startTime, String endTime, String code, String mainCabCode, String param);

    /**
     * 异常统计（按天）
     * @param code
     * @param param
     * @return
     */
    JsonResult findAbnormalStatisticsByDay(String code, String param);

    /**
     * 异常统计（按日周月）
     * @param code
     * @param param
     * @return
     */
    JsonResult findAbnormalStatistics(String type,String dateType, String startTime, String endTime, String code, String mainCabCode, String param);

    /**
     * 异常物料排名
     * @param type
     * @param dateType
     * @param startTime
     * @param endTime
     * @param code
     * @param mainCabCode
     * @param param
     * @return
     */
    JsonResult findAbnormalMaterialComparison(String type,String dateType, String startTime, String endTime, String code, String mainCabCode, String param);

    /**
     * 异常登记人员对比
     * @param type
     * @param startTime
     * @param endTime
     * @param code
     * @param mainCabCode
     * @param param
     * @return
     */
    JsonResult findAbnormalRegistrationComparison(String type,String dateType, String startTime, String endTime, String code, String mainCabCode, String param);

    /**
     * 异常原因占比分析
     * @param type
     * @param startTime
     * @param endTime
     * @param code
     * @param mainCabCode
     * @param param
     * @return
     */
    JsonResult findAbnormalCauseAnalysis(String type,String dateType, String startTime, String endTime, String code, String mainCabCode, String param);

    /**
     * 领新物料占比
     * @param type
     * @param startTime
     * @param endTime
     * @param code
     * @param mainCabCode
     * @param param
     * @return
     */
    JsonResult findGetNewMaterialComparison(String type, String startTime, String endTime, String code, String mainCabCode, String param);

    /**
     * 未归还物料占比
     * @param type
     * @param startTime
     * @param endTime
     * @param code
     * @param mainCabCode
     * @param param
     * @return
     */
    JsonResult findReturnedMaterialComparison(String type, String startTime, String endTime, String code, String mainCabCode, String param);

    /**
     * 暂存物料占比
     * @param type
     * @param startTime
     * @param endTime
     * @param code
     * @param mainCabCode
     * @param param
     * @return
     */
    JsonResult findTSMaterialComparison(String type, String startTime, String endTime, String code, String mainCabCode, String param);

    /**
     * 采购物料规格型号占比
     * @param type
     * @param startTime
     * @param endTime
     * @param code
     * @param mainCabCode
     * @param param
     * @return
     */
    JsonResult findPurchaseMaterialModelComparison(String type, String startTime, String endTime, String code, String mainCabCode, String param);

    /**
     * 采购物料供应商占比分析
     * @param type
     * @param startTime
     * @param endTime
     * @param code
     * @param mainCabCode
     * @param param
     * @return
     */
    JsonResult findPurchaseMaterialSupplierComparison(String type, String startTime, String endTime, String code, String mainCabCode, String param);

    /**
     * 暂存物料品牌占比分析
     * @param type
     * @param startTime
     * @param endTime
     * @param code
     * @param mainCabCode
     * @param param
     * @return
     */
    JsonResult findTSMaterialBrandComparison(String type, String startTime, String endTime, String code, String mainCabCode, String param);

    /**
     * 报修|报废统计(按天)
     * @param code
     * @param param
     * @param businessTypeChecked
     * @return
     */
    JsonResult findCheckedResultStatisticsByDay(String code, String param, Integer businessTypeChecked);

    /**
     * 报废|报修物料规格型号占比
     * @param type
     * @param startTime
     * @param endTime
     * @param code
     * @param mainCabCode
     * @param param
     * @return
     */
    JsonResult findCheckedResultMaterialModelComparison(String type, String dateType, String startTime, String endTime, String code, String mainCabCode, String param,Integer businessTypeChecked);

    /**
     * 报失物料规格型号占比
     * @param type
     * @param startTime
     * @param endTime
     * @param code
     * @param mainCabCode
     * @param param
     * @return
     */
    JsonResult findLostResultMaterialModelComparison(String type, String dateType, String startTime, String endTime, String code, String mainCabCode, String param,Integer businessType);
    /**
     * 报失物料规格型号占比
     * @param type
     * @param startTime
     * @param endTime
     * @param code
     * @param mainCabCode
     * @param param
     * @return
     */
    JsonResult findMissMaterialCostCenter(String type, String dateType, String startTime, String endTime, String code, String mainCabCode, String param);

    /**
     * 报失统计对比（按天）
     * @param code
     * @param param
     * @param businessType
     * @return
     */
    JsonResult findLostResultStatisticsByDay( String code, String param,Integer businessType);

    /**
     * 报失统计对比（日周月）
     * @param type
     * @param dateType
     * @param startTime
     * @param endTime
     * @param code
     * @param mainCabCode
     * @param param
     * @param businessType
     * @return
     */
    JsonResult findLostResultStatistics(String type, String dateType, String startTime, String endTime, String code, String mainCabCode, String param,Integer businessType);

    /**
     * 报失物料(按人员)
     * @param type
     * @param startTime
     * @param endTime
     * @param code
     * @param mainCabCode
     * @return
     */
    JsonResult findLostResultByCreator(String type, String dateType, String startTime, String endTime, String code, String mainCabCode,Integer businessType);
    /**
     * 报失物料(按设备)
     * @param type
     * @param startTime
     * @param endTime
     * @param code
     * @param mainCabCode
     * @return
     */
    JsonResult findLostResultByDevice(String type, String dateType, String startTime, String endTime, String code, String mainCabCode,Integer businessType);

}
